var Singleton = function(name) {
    this.name = name;
}

Singleton.prototype.getName = function() {
    alert(this.name);
}

Singleton.getInstance = (function() {
    // 实例对象为null
    var instance = null;
    return function(name) {
        if(!instance) {
            instance = new Singleton(name);
        }
        return instance;
    }();
})

// 方式一和方式二的区别并不大 只是一个挂载在原型上了 一个直接挂载